#ifndef _http_MESSAGE_H_
#define _http_MESSAGE_H_

#include <stdlib.h>
#include <workflow/ProtocolMessage.h>
#include<http/client.h>
#include <http/router.h>
/**
 * define http protocol
*/
class HttpReqMsg : public protocol::ProtocolMessage
{
private:
    //Http::Reply *reply=nullptr ;
    

	//virtual int encode(struct iovec vectors[], int max);
	virtual int append(const void *buf, size_t size);

public:
	Http::Request req;
	HttpReqMsg()
	{

	}

//	HttpRequest(HttpRequest&& msg);
//	HttpRequest& operator = (HttpRequest&& msg);

	virtual ~HttpReqMsg()
	{


	}
};

class HttpRepMsg : public protocol::ProtocolMessage
{
private:
    //Http::Reply *reply=nullptr ;
    
	//Http::Request req;
	virtual int encode(struct iovec vectors[], int max);
	//virtual int append(const void *buf, size_t size);

public:
	//void set_request();
	static Http::Router router;
	Http::Reply reply;
	HttpRepMsg()
	{

	}

//	HttpRequest(HttpRequest&& msg);
//	HttpRequest& operator = (HttpRequest&& msg);

	virtual ~HttpRepMsg()
	{


	}
};







#endif
